1.4 系统架构与功能介绍
1.系统架构:
1.1 各模块介绍
E聊服务器: 提供了基础的消息转发功能,用户管理、群组管理等功能; E聊管理台: 向E聊服务器申请接入SDK 所需要的App Key 等; 应用客户端: 使用E聊账号登入E聊服务器,实现单聊、群聊消息收发等功能; 应用后台: 业务应用后台,维护原有的业务用户列表,此外,需维护一张与E聊用户的关系映射表。
2 E聊功能介绍
2.1 单聊 点对点的基础聊天,支持文字,图片,文件等方式;
2.2 群聊 一对多的群聊/讨论组,支持文字,图片,文件等方式;
2.3 用户资料管理 用户账号(auid), 密码(token), 昵称,性别,头像,签名,手机,邮箱等;
2.4 用户关系管理 用户的好友关系管理,黑名单列表,禁言列表等;
2.5 消息通知 客户端SDK可以接受到基础的消息通知,比如用户上线/离线,被加好友,被拉入群聊等;
2.6 离线消息 E聊服务器能缓存一定日期内的离线消息,待客户端上线时会自动推送到客户端;
3 开源项目介绍
3.1 核心SDK
E聊SDK后台源码: E聊后端通讯功能,使用java+springboot+socket.io框架开发; Web版核心SDK源码: Web版客户端通讯功能,能适配网页端,移动网页端,ReactNative 等; 原生版核心SDK源码: 原生版客户端通讯功能,能运行在windows, linux, mac, android 等平台,支持使用python, java, c++/c, c# 等语言进行客户端开发.
3.2 client-ts-core 与client-cpp-core 开发语言/平台支持情况:
语言/平台 | windows | mac | linux | web | android | ios |
---|---|---|---|---|---|---|
c++/c | O | O | O | X | O | O |
Java | O | O | O | X | O | X |
Python | O | O | O | X | X | X |
C# | O | O | O | X | X | X |
javascript | X | X | X | O | X | X |
3.3 客户端Demo
Web版客户端Demo: Web版客户端演示Demo,使用vue框架开发;
移动客户端Demo: 移动客户端演示Demo,使用ReactNative框架开发;
微信小程序Demo: 微信小程序客户端演示Demo;
3.4 UI库
商务通Web版UI: E聊商务通客服系统聊天UI组件(PC端), 使用vue+webpack开发;
商务通移动版UI: E聊商务通客服系统聊天UI组件(移动端),, 使用ReactNativeWeb开发;
3.5 其它
client-cpp-core演示程序: 提供调用 echatim-client-cpp-core客户端核心代码的演示Demo
4 接入线上测试服务器的流程
(1).注册登录E聊管理台,在管理台创建APP, 记录App Key, Client Secret, App Secret;
(2).创建E聊用户,可以使用服务端API创建,也可以在E聊管理台创建,在应用后台记录业务用户与E聊用户的映射关系;
(3).整合客户端SDK 进应用客户端,配置SDK参数(如: E聊服务器地址,App Key);
(4).登录应用后台,获取E聊用户账号(auid, token)实现登录,消息收发;